package com.wn.class30.tools;



import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Set;

/** 
* @author 周豪 E-mail: 
* @version 创建时间：2020年3月5日 下午6:58:55 
* 类说明 :生产树形菜单 meun韦菜单实体类
*/

public class Premission1 {

	
/*	public static void main(String[] args) {
		
		Premission1 premission = new Premission1();
		ArrayList<Menu> treeList = premission.treeList(premission.getMean());
		System.out.println(treeList);
	}
	public ArrayList<Menu> getMean(){
		Menu menu = new Menu(5, "一级权限", 0, null, 1);
		Menu menu2 = new Menu(6, "二级权限", 5, null, 2);
		Menu menu3 = new Menu(7, "二级权限", 5, null, 2);
		Menu menu1 = new Menu(10, "一级权限1", 0, null, 1);
		Menu menu4 = new Menu(11, "二级权限", 10, null, 2);
		Menu menu5 = new Menu(12, "二级权限", 10, null, 2);
		Menu menu6 = new Menu(13, "三级权限", 12, null, 3);
		Menu menu7 = new Menu(14, "三级权限", 12, null, 3);
		Menu menu8 = new Menu(15, "三级权限", 7, null, 3);
		ArrayList<Menu> li = new ArrayList();
		li.add(menu1);
		li.add(menu2);
		li.add(menu3);
		li.add(menu4);
		li.add(menu5);
		li.add(menu);
		li.add(menu6);
		li.add(menu7);
		li.add(menu8);
		System.out.println(li);
		return li;
	}

	public  HashMap<Integer, ArrayList<Menu>> treeMap(List<Menu> queryPressionByUserInfo){
	 HashMap<Integer, ArrayList<Menu>> hashMap = new HashMap();
	 Integer level=0;
	for (Menu menu : queryPressionByUserInfo) {
		Integer le = menu.getLevel();
		 level=le>level?le:level;
	}
	System.out.println(level);
	for(int i=1;i<=level;i++) {
		ArrayList<Menu> arrayList = new ArrayList();
		for(Menu menu : queryPressionByUserInfo) {
			if(menu.getLevel()==i) {
				arrayList.add(menu);
			}
			hashMap.put(i, arrayList);
		}
	}
	 Set<Integer> entrySet = hashMap.keySet();
	 for(Integer i:entrySet) {
	System.out.println(i+"------------"+hashMap.get(i));}
		return hashMap;
	}

	public ArrayList<Menu> treeList(List<Menu> queryPressionByUserInfo){
		HashMap<Integer, ArrayList<Menu>> map = treeMap(queryPressionByUserInfo);
		ArrayList<Menu> tree = new ArrayList();
		ArrayList<Menu> temp = null;
		for(int i=1;i<=map.size();i++) {
			if(i==1) {
			tree= map.get(i);
			temp=map.get(i);
			}else {
				for(Menu te:map.get(i)) {
					for(Menu te1:temp) {
						if(te.getParent()==te1.getMid()) {
							te1.getChildren().add(te);
						}
					}
				}
				temp=map.get(i);
			}
			
			}

		return tree;
	}*/
}
